{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from numpy import *\n",
    "import operator\n",
    "from os import listdir\n",
    "import  matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def createData():\n",
    "    data=array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])\n",
    "    label=['A','A','B','B']\n",
    "    return data,label"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "data,label=createData()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def picture(data,label):\n",
    "    ax=[]\n",
    "    ay=[]\n",
    "    bx=[]\n",
    "    by=[]\n",
    "    for i in range(len(data)):\n",
    "        if label[i]=='A':\n",
    "            ax.append(data[i][0])\n",
    "            ay.append(data[i][1])\n",
    "        else:\n",
    "            bx.append(data[i][0])\n",
    "            by.append(data[i][1])\n",
    "    plt.scatter(ax,ay)\n",
    "    plt.scatter(bx,by)\n",
    "    plt.show()\n",
    "picture(data,label)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'A'"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def classify0(intx,data,label,k):\n",
    "    dataSize=data.shape[0]\n",
    "    diffMax=tile(intx,(dataSize,1))-data\n",
    "    sqdiffmax=diffMax**2\n",
    "    sqindex=sqdiffmax.sum(axis=1)\n",
    "    distances=sqindex**0.5\n",
    "    sorteddistances=distances.argsort()\n",
    "    classCount={}\n",
    "    for i in range(k):\n",
    "        voteIlabel = label[sorteddistances[i]]\n",
    "        classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1\n",
    "    sortedClassCount = sorted(classCount.items(), key=operator.itemgetter(1), reverse=True)\n",
    "    return sortedClassCount[0][0]\n",
    "classify0([1,1],data,label,3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'A': 2, 'B': 1}\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'A'"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def classify_zly(inx,data,label,k):\n",
    "    datasize=data.shape[0]\n",
    "    dataSet=tile(inx,(datasize,1))-data\n",
    "    sqdataSet=dataSet**2\n",
    "    sqindex=sqdataSet.sum(axis=1)\n",
    "    distances=sqindex**0.5\n",
    "    sortdistances=distances.argsort()\n",
    "    classCount={}\n",
    "    for i in range(k):\n",
    "        votelabel=label[sortdistances[i]]\n",
    "        classCount[votelabel]=classCount.get(votelabel,0)+1\n",
    "    sortedClassCount = sorted(classCount.items(), key=operator.itemgetter(1), reverse=True)\n",
    "    print(classCount)\n",
    "    return sortedClassCount[0][0]\n",
    "classify_zly([1,1],data,label,3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "#实战1\n",
    "def filetext(filename):\n",
    "    love_dictions={'largeDoses':3,'smallDoses':2,'didntLike':1}\n",
    "    fr=open(filename)\n",
    "    data=[]\n",
    "    label=[]\n",
    "    \n",
    "    for line in fr.readlines():\n",
    "        t=line.strip().split('\\t')\n",
    "#         print(t)\n",
    "        data.append(list(map(float,t[:3])))\n",
    "        if t[-1].isdigit():\n",
    "            label.append(int(t[-1]))\n",
    "        else:\n",
    "            label.append(love_dictions[t[3]])\n",
    "    return array(data),label\n",
    "data,label=filetext('datingTestSet.txt')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.       0.       0.001156]\n",
      "[9.1273000e+04 2.0919349e+01 1.6955170e+00]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([[0., 0., 0.],\n",
       "       [0., 0., 0.],\n",
       "       [0., 0., 0.],\n",
       "       ...,\n",
       "       [0., 0., 0.],\n",
       "       [0., 0., 0.],\n",
       "       [0., 0., 0.]])"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(data.min(0))\n",
    "print(data.max(0))\n",
    "m,n=data.shape\n",
    "m,n\n",
    "normal=zeros((m,n))\n",
    "normal"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "def autonormal(data):\n",
    "    minvals=data.min(0)\n",
    "    maxvals=data.max(0)\n",
    "    ranges=maxvals-minvals\n",
    "    normal=zeros(data.shape)\n",
    "    for i in range(data.shape[0]):\n",
    "        normal[i]=(data[i]-minvals)/ranges\n",
    "    return array(normal),ranges,minvals"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([[0.44832535, 0.39805139, 0.56233353],\n",
       "        [0.15873259, 0.34195467, 0.98724416],\n",
       "        [0.28542943, 0.06892523, 0.47449629],\n",
       "        ...,\n",
       "        [0.29115949, 0.50910294, 0.51079493],\n",
       "        [0.52711097, 0.43665451, 0.4290048 ],\n",
       "        [0.47940793, 0.3768091 , 0.78571804]]),\n",
       " array([9.1273000e+04, 2.0919349e+01, 1.6943610e+00]),\n",
       " array([0.      , 0.      , 0.001156]))"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "autonormal(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "#我本人对knn测试算法的一点改进\n",
    "def data_test(ho=0.01):\n",
    "    #读取测试集合\n",
    "    data,label=filetext('datingTestSet2.txt')\n",
    "    #归一化测试集合\n",
    "    normal,ranges,minvals=autonormal(data)\n",
    "#     print(mat(data).shape)\n",
    "#     print(label)\n",
    "    #读取训练集合\n",
    "    data_train,label_train=filetext('datingTestSet.txt')\n",
    "    \n",
    "    #归一化训练的集合\n",
    "    normal_train,ranges_train,minvals_train=autonormal(data_train)\n",
    "    sum=0\n",
    "    error=0\n",
    "    for i in range(int(data.shape[0]*ho)):\n",
    "        sum=sum+1\n",
    "        import random\n",
    "        t=random.randint(0,data.shape[0])\n",
    "        result=classify0(normal[t],normal_train,label_train,3)\n",
    "        print('真实的值：',label[t],'预测的值：',result)\n",
    "        if result!=label[t]:\n",
    "            error=error+1\n",
    "    print('errors:',error,'\\nerror rate:',error/float(sum))\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "#我本人对knn前面的一点改进，修改2\n",
    "def data_test01(ho=0.01):\n",
    "    #读取测试集合\n",
    "    data,label=filetext('datingTestSet2.txt')\n",
    "    #归一化测试集合\n",
    "    normal,ranges,minvals=autonormal(data)\n",
    "#     print(mat(data).shape)\n",
    "#     print(label)\n",
    "    #读取训练集合\n",
    "    data_train,label_train=filetext('datingTestSet.txt')\n",
    "    #归一化训练的集合\n",
    "    normal_train,ranges_train,minvals_train=autonormal(data_train)\n",
    "    sum=0\n",
    "    error=0\n",
    "    import random\n",
    "    choose_zly=random.sample(range(0, 999), int(data.shape[0]*ho))\n",
    "    for i in choose_zly:\n",
    "        sum=sum+1\n",
    "        result=classify0(normal[i],normal_train,label_train,4)\n",
    "        print('No.',i,'data：','真实的值：',label[i],'预测的值：',result)\n",
    "        if result!=label[i]:\n",
    "            error=error+1\n",
    "    print('errors:',error,'\\nerror rate:',error/float(sum))\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "No. 976 data： 真实的值： 1 预测的值： 1\n",
      "No. 866 data： 真实的值： 3 预测的值： 3\n",
      "No. 525 data： 真实的值： 1 预测的值： 1\n",
      "No. 368 data： 真实的值： 3 预测的值： 3\n",
      "No. 865 data： 真实的值： 3 预测的值： 3\n",
      "No. 578 data： 真实的值： 2 预测的值： 2\n",
      "No. 123 data： 真实的值： 3 预测的值： 3\n",
      "No. 340 data： 真实的值： 3 预测的值： 3\n",
      "No. 847 data： 真实的值： 2 预测的值： 2\n",
      "No. 989 data： 真实的值： 2 预测的值： 2\n",
      "No. 784 data： 真实的值： 3 预测的值： 3\n",
      "No. 734 data： 真实的值： 2 预测的值： 2\n",
      "No. 727 data： 真实的值： 1 预测的值： 1\n",
      "No. 324 data： 真实的值： 3 预测的值： 3\n",
      "No. 504 data： 真实的值： 2 预测的值： 2\n",
      "No. 822 data： 真实的值： 1 预测的值： 1\n",
      "No. 906 data： 真实的值： 1 预测的值： 1\n",
      "No. 380 data： 真实的值： 1 预测的值： 1\n",
      "No. 81 data： 真实的值： 2 预测的值： 2\n",
      "No. 843 data： 真实的值： 2 预测的值： 2\n",
      "No. 194 data： 真实的值： 3 预测的值： 3\n",
      "No. 707 data： 真实的值： 3 预测的值： 3\n",
      "No. 41 data： 真实的值： 2 预测的值： 2\n",
      "No. 267 data： 真实的值： 1 预测的值： 1\n",
      "No. 692 data： 真实的值： 3 预测的值： 3\n",
      "No. 821 data： 真实的值： 3 预测的值： 3\n",
      "No. 685 data： 真实的值： 2 预测的值： 1\n",
      "No. 509 data： 真实的值： 3 预测的值： 3\n",
      "No. 761 data： 真实的值： 3 预测的值： 3\n",
      "No. 472 data： 真实的值： 3 预测的值： 3\n",
      "No. 712 data： 真实的值： 2 预测的值： 2\n",
      "No. 568 data： 真实的值： 1 预测的值： 1\n",
      "No. 257 data： 真实的值： 3 预测的值： 3\n",
      "No. 699 data： 真实的值： 1 预测的值： 1\n",
      "No. 703 data： 真实的值： 3 预测的值： 3\n",
      "No. 921 data： 真实的值： 3 预测的值： 3\n",
      "No. 452 data： 真实的值： 1 预测的值： 1\n",
      "No. 277 data： 真实的值： 1 预测的值： 1\n",
      "No. 125 data： 真实的值： 1 预测的值： 1\n",
      "No. 770 data： 真实的值： 1 预测的值： 1\n",
      "No. 785 data： 真实的值： 3 预测的值： 3\n",
      "No. 422 data： 真实的值： 3 预测的值： 3\n",
      "No. 760 data： 真实的值： 3 预测的值： 3\n",
      "No. 744 data： 真实的值： 2 预测的值： 2\n",
      "No. 195 data： 真实的值： 2 预测的值： 2\n",
      "No. 754 data： 真实的值： 1 预测的值： 1\n",
      "No. 386 data： 真实的值： 3 预测的值： 3\n",
      "No. 966 data： 真实的值： 2 预测的值： 2\n",
      "No. 817 data： 真实的值： 3 预测的值： 3\n",
      "No. 868 data： 真实的值： 3 预测的值： 3\n",
      "No. 623 data： 真实的值： 3 预测的值： 2\n",
      "No. 383 data： 真实的值： 3 预测的值： 3\n",
      "No. 747 data： 真实的值： 2 预测的值： 2\n",
      "No. 715 data： 真实的值： 2 预测的值： 2\n",
      "No. 917 data： 真实的值： 3 预测的值： 3\n",
      "No. 250 data： 真实的值： 1 预测的值： 1\n",
      "No. 650 data： 真实的值： 3 预测的值： 3\n",
      "No. 377 data： 真实的值： 3 预测的值： 3\n",
      "No. 901 data： 真实的值： 2 预测的值： 2\n",
      "No. 899 data： 真实的值： 3 预测的值： 3\n",
      "No. 710 data： 真实的值： 1 预测的值： 1\n",
      "No. 900 data： 真实的值： 1 预测的值： 1\n",
      "No. 235 data： 真实的值： 1 预测的值： 1\n",
      "No. 532 data： 真实的值： 2 预测的值： 2\n",
      "No. 23 data： 真实的值： 3 预测的值： 3\n",
      "No. 850 data： 真实的值： 2 预测的值： 2\n",
      "No. 176 data： 真实的值： 3 预测的值： 3\n",
      "No. 148 data： 真实的值： 2 预测的值： 2\n",
      "No. 160 data： 真实的值： 3 预测的值： 3\n",
      "No. 795 data： 真实的值： 3 预测的值： 3\n",
      "No. 291 data： 真实的值： 2 预测的值： 2\n",
      "No. 329 data： 真实的值： 3 预测的值： 3\n",
      "No. 174 data： 真实的值： 1 预测的值： 1\n",
      "No. 719 data： 真实的值： 2 预测的值： 2\n",
      "No. 323 data： 真实的值： 1 预测的值： 1\n",
      "No. 418 data： 真实的值： 3 预测的值： 3\n",
      "No. 73 data： 真实的值： 2 预测的值： 2\n",
      "No. 326 data： 真实的值： 3 预测的值： 3\n",
      "No. 764 data： 真实的值： 2 预测的值： 2\n",
      "No. 829 data： 真实的值： 3 预测的值： 3\n",
      "No. 142 data： 真实的值： 3 预测的值： 3\n",
      "No. 63 data： 真实的值： 2 预测的值： 2\n",
      "No. 20 data： 真实的值： 2 预测的值： 2\n",
      "No. 803 data： 真实的值： 2 预测的值： 2\n",
      "No. 24 data： 真实的值： 2 预测的值： 2\n",
      "No. 353 data： 真实的值： 2 预测的值： 2\n",
      "No. 881 data： 真实的值： 3 预测的值： 3\n",
      "No. 369 data： 真实的值： 2 预测的值： 2\n",
      "No. 482 data： 真实的值： 1 预测的值： 1\n",
      "No. 938 data： 真实的值： 3 预测的值： 1\n",
      "No. 679 data： 真实的值： 2 预测的值： 2\n",
      "No. 420 data： 真实的值： 1 预测的值： 1\n",
      "No. 782 data： 真实的值： 2 预测的值： 2\n",
      "No. 344 data： 真实的值： 3 预测的值： 3\n",
      "No. 332 data： 真实的值： 3 预测的值： 3\n",
      "No. 751 data： 真实的值： 1 预测的值： 1\n",
      "No. 405 data： 真实的值： 2 预测的值： 2\n",
      "No. 376 data： 真实的值： 1 预测的值： 1\n",
      "No. 427 data： 真实的值： 2 预测的值： 2\n",
      "No. 960 data： 真实的值： 2 预测的值： 2\n",
      "No. 972 data： 真实的值： 2 预测的值： 2\n",
      "No. 179 data： 真实的值： 1 预测的值： 1\n",
      "No. 631 data： 真实的值： 3 预测的值： 3\n",
      "No. 941 data： 真实的值： 1 预测的值： 1\n",
      "No. 812 data： 真实的值： 2 预测的值： 2\n",
      "No. 490 data： 真实的值： 1 预测的值： 1\n",
      "No. 845 data： 真实的值： 2 预测的值： 2\n",
      "No. 961 data： 真实的值： 3 预测的值： 3\n",
      "No. 708 data： 真实的值： 1 预测的值： 1\n",
      "No. 294 data： 真实的值： 1 预测的值： 1\n",
      "No. 299 data： 真实的值： 2 预测的值： 2\n",
      "No. 363 data： 真实的值： 2 预测的值： 2\n",
      "No. 337 data： 真实的值： 2 预测的值： 2\n",
      "No. 561 data： 真实的值： 1 预测的值： 1\n",
      "No. 696 data： 真实的值： 2 预测的值： 2\n",
      "No. 739 data： 真实的值： 2 预测的值： 2\n",
      "No. 248 data： 真实的值： 3 预测的值： 3\n",
      "No. 109 data： 真实的值： 2 预测的值： 2\n",
      "No. 403 data： 真实的值： 2 预测的值： 2\n",
      "No. 791 data： 真实的值： 2 预测的值： 2\n",
      "No. 35 data： 真实的值： 1 预测的值： 1\n",
      "No. 937 data： 真实的值： 1 预测的值： 1\n",
      "No. 236 data： 真实的值： 2 预测的值： 2\n",
      "No. 600 data： 真实的值： 2 预测的值： 2\n",
      "No. 670 data： 真实的值： 2 预测的值： 2\n",
      "No. 542 data： 真实的值： 3 预测的值： 3\n",
      "No. 341 data： 真实的值： 1 预测的值： 1\n",
      "No. 467 data： 真实的值： 3 预测的值： 3\n",
      "No. 210 data： 真实的值： 1 预测的值： 1\n",
      "No. 421 data： 真实的值： 2 预测的值： 2\n",
      "No. 240 data： 真实的值： 1 预测的值： 1\n",
      "No. 892 data： 真实的值： 1 预测的值： 1\n",
      "No. 830 data： 真实的值： 3 预测的值： 3\n",
      "No. 733 data： 真实的值： 2 预测的值： 2\n",
      "No. 99 data： 真实的值： 1 预测的值： 1\n",
      "No. 333 data： 真实的值： 1 预测的值： 1\n",
      "No. 455 data： 真实的值： 2 预测的值： 2\n",
      "No. 11 data： 真实的值： 1 预测的值： 1\n",
      "No. 880 data： 真实的值： 1 预测的值： 1\n",
      "No. 613 data： 真实的值： 2 预测的值： 2\n",
      "No. 57 data： 真实的值： 3 预测的值： 3\n",
      "No. 732 data： 真实的值： 3 预测的值： 3\n",
      "No. 678 data： 真实的值： 1 预测的值： 1\n",
      "No. 158 data： 真实的值： 1 预测的值： 1\n",
      "No. 5 data： 真实的值： 1 预测的值： 1\n",
      "No. 224 data： 真实的值： 2 预测的值： 2\n",
      "No. 275 data： 真实的值： 2 预测的值： 2\n",
      "No. 349 data： 真实的值： 2 预测的值： 2\n",
      "No. 722 data： 真实的值： 1 预测的值： 1\n",
      "No. 925 data： 真实的值： 2 预测的值： 2\n",
      "No. 443 data： 真实的值： 1 预测的值： 1\n",
      "No. 926 data： 真实的值： 3 预测的值： 3\n",
      "No. 605 data： 真实的值： 1 预测的值： 1\n",
      "No. 620 data： 真实的值： 3 预测的值： 3\n",
      "No. 946 data： 真实的值： 2 预测的值： 2\n",
      "No. 307 data： 真实的值： 1 预测的值： 1\n",
      "No. 286 data： 真实的值： 3 预测的值： 3\n",
      "No. 908 data： 真实的值： 3 预测的值： 3\n",
      "No. 222 data： 真实的值： 2 预测的值： 2\n",
      "No. 953 data： 真实的值： 2 预测的值： 2\n",
      "No. 252 data： 真实的值： 1 预测的值： 1\n",
      "No. 156 data： 真实的值： 2 预测的值： 2\n",
      "No. 282 data： 真实的值： 2 预测的值： 2\n",
      "No. 517 data： 真实的值： 2 预测的值： 2\n",
      "No. 838 data： 真实的值： 1 预测的值： 1\n",
      "No. 87 data： 真实的值： 2 预测的值： 2\n",
      "No. 819 data： 真实的值： 3 预测的值： 3\n",
      "No. 186 data： 真实的值： 3 预测的值： 3\n",
      "No. 92 data： 真实的值： 1 预测的值： 1\n",
      "No. 664 data： 真实的值： 1 预测的值： 1\n",
      "No. 994 data： 真实的值： 2 预测的值： 2\n",
      "No. 552 data： 真实的值： 2 预测的值： 2\n",
      "No. 475 data： 真实的值： 3 预测的值： 3\n",
      "No. 800 data： 真实的值： 1 预测的值： 1\n",
      "No. 387 data： 真实的值： 2 预测的值： 2\n",
      "No. 884 data： 真实的值： 3 预测的值： 3\n",
      "No. 271 data： 真实的值： 3 预测的值： 3\n",
      "No. 698 data： 真实的值： 3 预测的值： 3\n",
      "No. 767 data： 真实的值： 2 预测的值： 2\n",
      "No. 117 data： 真实的值： 1 预测的值： 1\n",
      "No. 735 data： 真实的值： 2 预测的值： 2\n",
      "No. 335 data： 真实的值： 2 预测的值： 2\n",
      "No. 456 data： 真实的值： 1 预测的值： 1\n",
      "No. 639 data： 真实的值： 3 预测的值： 3\n",
      "No. 279 data： 真实的值： 1 预测的值： 1\n",
      "No. 153 data： 真实的值： 3 预测的值： 3\n",
      "No. 682 data： 真实的值： 2 预测的值： 2\n",
      "No. 627 data： 真实的值： 3 预测的值： 3\n",
      "No. 446 data： 真实的值： 3 预测的值： 3\n",
      "No. 535 data： 真实的值： 2 预测的值： 2\n",
      "No. 38 data： 真实的值： 3 预测的值： 3\n",
      "No. 189 data： 真实的值： 2 预测的值： 2\n",
      "No. 309 data： 真实的值： 2 预测的值： 2\n",
      "No. 192 data： 真实的值： 3 预测的值： 3\n",
      "No. 519 data： 真实的值： 1 预测的值： 1\n",
      "No. 233 data： 真实的值： 3 预测的值： 3\n",
      "No. 832 data： 真实的值： 3 预测的值： 3\n",
      "No. 151 data： 真实的值： 2 预测的值： 2\n",
      "No. 599 data： 真实的值： 1 预测的值： 1\n",
      "No. 247 data： 真实的值： 2 预测的值： 2\n",
      "No. 226 data： 真实的值： 3 预测的值： 3\n",
      "No. 923 data： 真实的值： 2 预测的值： 2\n",
      "No. 310 data： 真实的值： 3 预测的值： 3\n",
      "No. 314 data： 真实的值： 1 预测的值： 1\n",
      "No. 614 data： 真实的值： 3 预测的值： 3\n",
      "No. 208 data： 真实的值： 2 预测的值： 2\n",
      "No. 930 data： 真实的值： 1 预测的值： 1\n",
      "No. 322 data： 真实的值： 3 预测的值： 3\n",
      "No. 93 data： 真实的值： 2 预测的值： 2\n",
      "No. 107 data： 真实的值： 3 预测的值： 3\n",
      "No. 438 data： 真实的值： 1 预测的值： 1\n",
      "No. 230 data： 真实的值： 2 预测的值： 2\n",
      "No. 945 data： 真实的值： 2 预测的值： 2\n",
      "No. 870 data： 真实的值： 1 预测的值： 1\n",
      "No. 150 data： 真实的值： 2 预测的值： 2\n",
      "No. 96 data： 真实的值： 3 预测的值： 3\n",
      "No. 28 data： 真实的值： 2 预测的值： 2\n",
      "No. 697 data： 真实的值： 2 预测的值： 2\n",
      "No. 515 data： 真实的值： 1 预测的值： 1\n",
      "No. 219 data： 真实的值： 1 预测的值： 1\n",
      "No. 361 data： 真实的值： 1 预测的值： 1\n",
      "No. 611 data： 真实的值： 2 预测的值： 2\n",
      "No. 809 data： 真实的值： 1 预测的值： 2\n",
      "No. 646 data： 真实的值： 3 预测的值： 3\n",
      "No. 328 data： 真实的值： 1 预测的值： 1\n",
      "No. 772 data： 真实的值： 1 预测的值： 1\n",
      "No. 536 data： 真实的值： 1 预测的值： 1\n",
      "No. 691 data： 真实的值： 1 预测的值： 1\n",
      "No. 270 data： 真实的值： 2 预测的值： 2\n",
      "No. 372 data： 真实的值： 1 预测的值： 1\n",
      "No. 560 data： 真实的值： 2 预测的值： 2\n",
      "No. 152 data： 真实的值： 3 预测的值： 3\n",
      "No. 547 data： 真实的值： 3 预测的值： 3\n",
      "No. 861 data： 真实的值： 1 预测的值： 1\n",
      "No. 738 data： 真实的值： 3 预测的值： 3\n",
      "No. 714 data： 真实的值： 1 预测的值： 1\n",
      "No. 936 data： 真实的值： 1 预测的值： 1\n",
      "No. 393 data： 真实的值： 3 预测的值： 3\n",
      "No. 343 data： 真实的值： 3 预测的值： 3\n",
      "No. 507 data： 真实的值： 2 预测的值： 2\n",
      "No. 959 data： 真实的值： 1 预测的值： 1\n",
      "No. 284 data： 真实的值： 3 预测的值： 3\n",
      "No. 76 data： 真实的值： 1 预测的值： 1\n",
      "No. 489 data： 真实的值： 1 预测的值： 1\n",
      "No. 412 data： 真实的值： 1 预测的值： 1\n",
      "No. 300 data： 真实的值： 2 预测的值： 2\n",
      "No. 89 data： 真实的值： 1 预测的值： 1\n",
      "No. 171 data： 真实的值： 2 预测的值： 2\n",
      "No. 702 data： 真实的值： 2 预测的值： 2\n",
      "No. 136 data： 真实的值： 3 预测的值： 3\n",
      "No. 931 data： 真实的值： 1 预测的值： 1\n",
      "No. 215 data： 真实的值： 3 预测的值： 3\n",
      "No. 293 data： 真实的值： 1 预测的值： 1\n",
      "No. 355 data： 真实的值： 1 预测的值： 1\n",
      "No. 533 data： 真实的值： 2 预测的值： 2\n",
      "No. 12 data： 真实的值： 2 预测的值： 2\n",
      "No. 121 data： 真实的值： 3 预测的值： 3\n",
      "No. 793 data： 真实的值： 3 预测的值： 3\n",
      "No. 155 data： 真实的值： 1 预测的值： 1\n",
      "No. 890 data： 真实的值： 1 预测的值： 1\n",
      "No. 115 data： 真实的值： 2 预测的值： 2\n",
      "No. 810 data： 真实的值： 3 预测的值： 3\n",
      "No. 91 data： 真实的值： 3 预测的值： 3\n",
      "No. 220 data： 真实的值： 1 预测的值： 1\n",
      "No. 14 data： 真实的值： 1 预测的值： 1\n",
      "No. 894 data： 真实的值： 2 预测的值： 2\n",
      "No. 339 data： 真实的值： 1 预测的值： 1\n",
      "No. 394 data： 真实的值： 3 预测的值： 3\n",
      "No. 197 data： 真实的值： 2 预测的值： 2\n",
      "No. 295 data： 真实的值： 1 预测的值： 1\n",
      "No. 648 data： 真实的值： 3 预测的值： 3\n",
      "No. 742 data： 真实的值： 2 预测的值： 2\n",
      "No. 774 data： 真实的值： 2 预测的值： 2\n",
      "No. 549 data： 真实的值： 3 预测的值： 3\n",
      "No. 895 data： 真实的值： 3 预测的值： 3\n",
      "No. 891 data： 真实的值： 2 预测的值： 2\n",
      "No. 564 data： 真实的值： 1 预测的值： 1\n",
      "No. 840 data： 真实的值： 3 预测的值： 3\n",
      "No. 617 data： 真实的值： 1 预测的值： 1\n",
      "No. 367 data： 真实的值： 3 预测的值： 3\n",
      "No. 492 data： 真实的值： 1 预测的值： 1\n",
      "No. 668 data： 真实的值： 1 预测的值： 1\n",
      "No. 491 data： 真实的值： 1 预测的值： 1\n",
      "No. 187 data： 真实的值： 2 预测的值： 2\n",
      "No. 992 data： 真实的值： 2 预测的值： 2\n",
      "No. 773 data： 真实的值： 1 预测的值： 1\n",
      "No. 813 data： 真实的值： 1 预测的值： 1\n",
      "No. 557 data： 真实的值： 1 预测的值： 1\n",
      "No. 243 data： 真实的值： 3 预测的值： 3\n",
      "No. 666 data： 真实的值： 3 预测的值： 3\n",
      "No. 118 data： 真实的值： 2 预测的值： 2\n",
      "No. 362 data： 真实的值： 3 预测的值： 3\n",
      "No. 188 data： 真实的值： 3 预测的值： 3\n",
      "No. 13 data： 真实的值： 1 预测的值： 1\n",
      "No. 720 data： 真实的值： 3 预测的值： 3\n",
      "No. 950 data： 真实的值： 3 预测的值： 3\n",
      "No. 483 data： 真实的值： 1 预测的值： 1\n",
      "No. 297 data： 真实的值： 1 预测的值： 1\n",
      "No. 914 data： 真实的值： 3 预测的值： 3\n",
      "No. 389 data： 真实的值： 3 预测的值： 3\n",
      "No. 603 data： 真实的值： 1 预测的值： 1\n",
      "No. 58 data： 真实的值： 1 预测的值： 1\n",
      "No. 402 data： 真实的值： 3 预测的值： 3\n",
      "No. 660 data： 真实的值： 1 预测的值： 1\n",
      "No. 632 data： 真实的值： 2 预测的值： 2\n",
      "No. 336 data： 真实的值： 1 预测的值： 1\n",
      "No. 473 data： 真实的值： 2 预测的值： 2\n",
      "No. 755 data： 真实的值： 2 预测的值： 2\n",
      "No. 127 data： 真实的值： 3 预测的值： 3\n",
      "No. 558 data： 真实的值： 3 预测的值： 3\n",
      "No. 177 data： 真实的值： 2 预测的值： 2\n",
      "No. 301 data： 真实的值： 1 预测的值： 1\n",
      "No. 147 data： 真实的值： 1 预测的值： 1\n",
      "No. 500 data： 真实的值： 3 预测的值： 3\n",
      "No. 781 data： 真实的值： 3 预测的值： 3\n",
      "No. 410 data： 真实的值： 2 预测的值： 2\n",
      "No. 48 data： 真实的值： 1 预测的值： 1\n",
      "No. 762 data： 真实的值： 1 预测的值： 1\n",
      "No. 379 data： 真实的值： 2 预测的值： 2\n",
      "No. 334 data： 真实的值： 3 预测的值： 3\n",
      "No. 973 data： 真实的值： 1 预测的值： 1\n",
      "No. 319 data： 真实的值： 3 预测的值： 1\n",
      "No. 178 data： 真实的值： 3 预测的值： 3\n",
      "No. 842 data： 真实的值： 2 预测的值： 2\n",
      "No. 508 data： 真实的值： 1 预测的值： 1\n",
      "No. 274 data： 真实的值： 1 预测的值： 1\n",
      "No. 86 data： 真实的值： 2 预测的值： 2\n",
      "No. 835 data： 真实的值： 2 预测的值： 2\n",
      "No. 723 data： 真实的值： 3 预测的值： 3\n",
      "No. 853 data： 真实的值： 2 预测的值： 2\n",
      "No. 494 data： 真实的值： 1 预测的值： 1\n",
      "No. 338 data： 真实的值： 2 预测的值： 2\n",
      "No. 609 data： 真实的值： 1 预测的值： 1\n",
      "No. 824 data： 真实的值： 3 预测的值： 3\n",
      "No. 786 data： 真实的值： 2 预测的值： 2\n",
      "No. 62 data： 真实的值： 2 预测的值： 2\n",
      "No. 407 data： 真实的值： 2 预测的值： 2\n",
      "No. 672 data： 真实的值： 3 预测的值： 3\n",
      "No. 246 data： 真实的值： 1 预测的值： 1\n",
      "No. 348 data： 真实的值： 1 预测的值： 1\n",
      "No. 285 data： 真实的值： 2 预测的值： 2\n",
      "No. 573 data： 真实的值： 1 预测的值： 1\n",
      "No. 656 data： 真实的值： 2 预测的值： 2\n",
      "No. 587 data： 真实的值： 2 预测的值： 2\n",
      "No. 736 data： 真实的值： 1 预测的值： 1\n",
      "No. 315 data： 真实的值： 1 预测的值： 1\n",
      "No. 598 data： 真实的值： 1 预测的值： 1\n",
      "No. 969 data： 真实的值： 3 预测的值： 3\n",
      "No. 563 data： 真实的值： 1 预测的值： 3\n",
      "No. 132 data： 真实的值： 2 预测的值： 2\n",
      "No. 313 data： 真实的值： 2 预测的值： 2\n",
      "No. 231 data： 真实的值： 3 预测的值： 3\n",
      "No. 982 data： 真实的值： 2 预测的值： 2\n",
      "No. 149 data： 真实的值： 3 预测的值： 3\n",
      "No. 458 data： 真实的值： 2 预测的值： 2\n",
      "No. 391 data： 真实的值： 1 预测的值： 1\n",
      "No. 261 data： 真实的值： 1 预测的值： 1\n",
      "No. 381 data： 真实的值： 2 预测的值： 2\n",
      "No. 745 data： 真实的值： 3 预测的值： 3\n",
      "No. 351 data： 真实的值： 3 预测的值： 3\n",
      "No. 442 data： 真实的值： 3 预测的值： 3\n",
      "No. 653 data： 真实的值： 3 预测的值： 3\n",
      "No. 511 data： 真实的值： 3 预测的值： 3\n",
      "No. 52 data： 真实的值： 3 预测的值： 3\n",
      "No. 359 data： 真实的值： 2 预测的值： 2\n",
      "No. 570 data： 真实的值： 3 预测的值： 3\n",
      "No. 955 data： 真实的值： 2 预测的值： 2\n",
      "No. 167 data： 真实的值： 3 预测的值： 3\n",
      "No. 964 data： 真实的值： 2 预测的值： 2\n",
      "No. 893 data： 真实的值： 2 预测的值： 2\n",
      "No. 979 data： 真实的值： 2 预测的值： 2\n",
      "No. 32 data： 真实的值： 3 预测的值： 3\n",
      "No. 590 data： 真实的值： 3 预测的值： 3\n",
      "No. 753 data： 真实的值： 3 预测的值： 3\n",
      "No. 474 data： 真实的值： 3 预测的值： 3\n",
      "No. 129 data： 真实的值： 1 预测的值： 1\n",
      "No. 61 data： 真实的值： 2 预测的值： 2\n",
      "No. 484 data： 真实的值： 3 预测的值： 3\n",
      "No. 903 data： 真实的值： 2 预测的值： 2\n",
      "No. 488 data： 真实的值： 2 预测的值： 2\n",
      "No. 523 data： 真实的值： 1 预测的值： 1\n",
      "No. 90 data： 真实的值： 3 预测的值： 3\n",
      "No. 481 data： 真实的值： 1 预测的值： 1\n",
      "No. 725 data： 真实的值： 3 预测的值： 3\n",
      "No. 527 data： 真实的值： 2 预测的值： 2\n",
      "No. 912 data： 真实的值： 1 预测的值： 1\n",
      "No. 651 data： 真实的值： 2 预测的值： 2\n",
      "No. 108 data： 真实的值： 1 预测的值： 1\n",
      "No. 457 data： 真实的值： 2 预测的值： 2\n",
      "No. 311 data： 真实的值： 1 预测的值： 1\n",
      "No. 728 data： 真实的值： 3 预测的值： 3\n",
      "No. 665 data： 真实的值： 2 预测的值： 2\n",
      "No. 305 data： 真实的值： 2 预测的值： 2\n",
      "No. 649 data： 真实的值： 3 预测的值： 3\n",
      "No. 414 data： 真实的值： 3 预测的值： 3\n",
      "No. 470 data： 真实的值： 3 预测的值： 2\n",
      "No. 827 data： 真实的值： 1 预测的值： 1\n",
      "No. 27 data： 真实的值： 3 预测的值： 3\n",
      "No. 505 data： 真实的值： 2 预测的值： 2\n",
      "No. 934 data： 真实的值： 3 预测的值： 3\n",
      "No. 677 data： 真实的值： 3 预测的值： 3\n",
      "No. 53 data： 真实的值： 2 预测的值： 2\n",
      "No. 737 data： 真实的值： 2 预测的值： 2\n",
      "No. 218 data： 真实的值： 2 预测的值： 2\n",
      "No. 695 data： 真实的值： 3 预测的值： 3\n",
      "No. 638 data： 真实的值： 2 预测的值： 2\n",
      "No. 716 data： 真实的值： 1 预测的值： 1\n",
      "No. 70 data： 真实的值： 2 预测的值： 2\n",
      "No. 65 data： 真实的值： 2 预测的值： 2\n",
      "No. 184 data： 真实的值： 2 预测的值： 2\n",
      "No. 879 data： 真实的值： 2 预测的值： 2\n",
      "No. 675 data： 真实的值： 1 预测的值： 1\n",
      "No. 68 data： 真实的值： 3 预测的值： 3\n",
      "No. 717 data： 真实的值： 2 预测的值： 2\n",
      "No. 673 data： 真实的值： 1 预测的值： 1\n",
      "No. 740 data： 真实的值： 2 预测的值： 2\n",
      "No. 763 data： 真实的值： 2 预测的值： 2\n",
      "No. 39 data： 真实的值： 3 预测的值： 3\n",
      "No. 704 data： 真实的值： 1 预测的值： 1\n",
      "No. 143 data： 真实的值： 3 预测的值： 3\n",
      "No. 889 data： 真实的值： 2 预测的值： 2\n",
      "No. 863 data： 真实的值： 1 预测的值： 1\n",
      "No. 83 data： 真实的值： 1 预测的值： 1\n",
      "No. 615 data： 真实的值： 2 预测的值： 2\n",
      "No. 199 data： 真实的值： 2 预测的值： 2\n",
      "No. 971 data： 真实的值： 1 预测的值： 1\n",
      "No. 654 data： 真实的值： 3 预测的值： 3\n",
      "No. 71 data： 真实的值： 3 预测的值： 3\n",
      "No. 553 data： 真实的值： 3 预测的值： 3\n",
      "No. 265 data： 真实的值： 2 预测的值： 2\n",
      "No. 411 data： 真实的值： 2 预测的值： 2\n",
      "No. 995 data： 真实的值： 2 预测的值： 2\n",
      "No. 135 data： 真实的值： 3 预测的值： 3\n",
      "No. 932 data： 真实的值： 1 预测的值： 1\n",
      "No. 431 data： 真实的值： 2 预测的值： 2\n",
      "No. 537 data： 真实的值： 3 预测的值： 3\n",
      "No. 518 data： 真实的值： 3 预测的值： 3\n",
      "No. 213 data： 真实的值： 1 预测的值： 1\n",
      "No. 694 data： 真实的值： 2 预测的值： 2\n",
      "No. 15 data： 真实的值： 1 预测的值： 1\n",
      "No. 37 data： 真实的值： 2 预测的值： 2\n",
      "No. 382 data： 真实的值： 1 预测的值： 1\n",
      "No. 777 data： 真实的值： 1 预测的值： 1\n",
      "No. 296 data： 真实的值： 3 预测的值： 3\n",
      "No. 95 data： 真实的值： 3 预测的值： 3\n",
      "No. 621 data： 真实的值： 2 预测的值： 2\n",
      "No. 680 data： 真实的值： 3 预测的值： 3\n",
      "No. 915 data： 真实的值： 3 预测的值： 3\n",
      "No. 939 data： 真实的值： 3 预测的值： 3\n",
      "No. 610 data： 真实的值： 1 预测的值： 1\n",
      "No. 364 data： 真实的值： 1 预测的值： 1\n",
      "No. 916 data： 真实的值： 3 预测的值： 3\n",
      "No. 984 data： 真实的值： 2 预测的值： 2\n",
      "No. 834 data： 真实的值： 3 预测的值： 3\n",
      "No. 897 data： 真实的值： 2 预测的值： 2\n",
      "No. 864 data： 真实的值： 2 预测的值： 2\n",
      "No. 259 data： 真实的值： 2 预测的值： 2\n",
      "No. 172 data： 真实的值： 3 预测的值： 3\n",
      "No. 910 data： 真实的值： 1 预测的值： 1\n",
      "No. 409 data： 真实的值： 2 预测的值： 2\n",
      "No. 16 data： 真实的值： 1 预测的值： 1\n",
      "No. 567 data： 真实的值： 1 预测的值： 1\n",
      "No. 370 data： 真实的值： 3 预测的值： 3\n",
      "No. 175 data： 真实的值： 1 预测的值： 1\n",
      "No. 833 data： 真实的值： 1 预测的值： 1\n",
      "No. 416 data： 真实的值： 1 预测的值： 1\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "No. 869 data： 真实的值： 1 预测的值： 1\n",
      "No. 141 data： 真实的值： 1 预测的值： 1\n",
      "No. 384 data： 真实的值： 2 预测的值： 2\n",
      "No. 949 data： 真实的值： 1 预测的值： 1\n",
      "No. 4 data： 真实的值： 1 预测的值： 1\n",
      "No. 159 data： 真实的值： 1 预测的值： 1\n",
      "No. 878 data： 真实的值： 2 预测的值： 2\n",
      "No. 88 data： 真实的值： 1 预测的值： 1\n",
      "No. 138 data： 真实的值： 1 预测的值： 1\n",
      "No. 59 data： 真实的值： 2 预测的值： 2\n",
      "No. 303 data： 真实的值： 1 预测的值： 1\n",
      "No. 283 data： 真实的值： 2 预测的值： 2\n",
      "No. 968 data： 真实的值： 2 预测的值： 2\n",
      "No. 780 data： 真实的值： 1 预测的值： 1\n",
      "No. 9 data： 真实的值： 3 预测的值： 3\n",
      "No. 957 data： 真实的值： 1 预测的值： 1\n",
      "No. 365 data： 真实的值： 1 预测的值： 3\n",
      "No. 131 data： 真实的值： 2 预测的值： 2\n",
      "No. 400 data： 真实的值： 1 预测的值： 1\n",
      "No. 0 data： 真实的值： 3 预测的值： 3\n",
      "No. 929 data： 真实的值： 2 预测的值： 2\n",
      "No. 874 data： 真实的值： 2 预测的值： 2\n",
      "No. 554 data： 真实的值： 3 预测的值： 3\n",
      "No. 251 data： 真实的值： 1 预测的值： 1\n",
      "No. 358 data： 真实的值： 3 预测的值： 3\n",
      "No. 17 data： 真实的值： 1 预测的值： 1\n",
      "No. 625 data： 真实的值： 2 预测的值： 2\n",
      "No. 202 data： 真实的值： 2 预测的值： 2\n",
      "No. 7 data： 真实的值： 3 预测的值： 3\n",
      "No. 752 data： 真实的值： 3 预测的值： 3\n",
      "No. 429 data： 真实的值： 1 预测的值： 1\n",
      "No. 902 data： 真实的值： 1 预测的值： 1\n",
      "No. 173 data： 真实的值： 1 预测的值： 1\n",
      "No. 524 data： 真实的值： 2 预测的值： 2\n",
      "No. 798 data： 真实的值： 3 预测的值： 3\n",
      "No. 700 data： 真实的值： 2 预测的值： 2\n",
      "No. 450 data： 真实的值： 2 预测的值： 2\n",
      "No. 44 data： 真实的值： 3 预测的值： 3\n",
      "No. 428 data： 真实的值： 2 预测的值： 2\n",
      "No. 120 data： 真实的值： 2 预测的值： 2\n",
      "No. 633 data： 真实的值： 1 预测的值： 1\n",
      "No. 104 data： 真实的值： 3 预测的值： 3\n",
      "No. 635 data： 真实的值： 1 预测的值： 1\n",
      "No. 200 data： 真实的值： 2 预测的值： 2\n",
      "No. 848 data： 真实的值： 1 预测的值： 1\n",
      "No. 709 data： 真实的值： 1 预测的值： 1\n",
      "No. 316 data： 真实的值： 3 预测的值： 3\n",
      "No. 345 data： 真实的值： 2 预测的值： 2\n",
      "No. 447 data： 真实的值： 2 预测的值： 2\n",
      "No. 546 data： 真实的值： 1 预测的值： 1\n",
      "No. 100 data： 真实的值： 3 预测的值： 3\n",
      "No. 991 data： 真实的值： 2 预测的值： 2\n",
      "No. 530 data： 真实的值： 2 预测的值： 2\n",
      "No. 228 data： 真实的值： 3 预测的值： 3\n",
      "No. 18 data： 真实的值： 2 预测的值： 2\n",
      "No. 501 data： 真实的值： 2 预测的值： 2\n",
      "No. 951 data： 真实的值： 1 预测的值： 1\n",
      "No. 114 data： 真实的值： 1 预测的值： 1\n",
      "No. 67 data： 真实的值： 2 预测的值： 2\n",
      "No. 42 data： 真实的值： 3 预测的值： 3\n",
      "No. 485 data： 真实的值： 3 预测的值： 3\n",
      "No. 589 data： 真实的值： 1 预测的值： 1\n",
      "No. 47 data： 真实的值： 1 预测的值： 1\n",
      "No. 741 data： 真实的值： 3 预测的值： 3\n",
      "No. 997 data： 真实的值： 3 预测的值： 3\n",
      "No. 280 data： 真实的值： 1 预测的值： 3\n",
      "No. 451 data： 真实的值： 2 预测的值： 2\n",
      "No. 885 data： 真实的值： 3 预测的值： 3\n",
      "No. 116 data： 真实的值： 1 预测的值： 1\n",
      "No. 655 data： 真实的值： 1 预测的值： 1\n",
      "No. 110 data： 真实的值： 3 预测的值： 3\n",
      "No. 948 data： 真实的值： 1 预测的值： 1\n",
      "No. 46 data： 真实的值： 1 预测的值： 1\n",
      "No. 276 data： 真实的值： 1 预测的值： 1\n",
      "No. 528 data： 真实的值： 1 预测的值： 1\n",
      "No. 119 data： 真实的值： 3 预测的值： 3\n",
      "No. 144 data： 真实的值： 2 预测的值： 2\n",
      "No. 139 data： 真实的值： 3 预测的值： 3\n",
      "No. 905 data： 真实的值： 1 预测的值： 1\n",
      "No. 499 data： 真实的值： 2 预测的值： 2\n",
      "No. 588 data： 真实的值： 3 预测的值： 3\n",
      "No. 181 data： 真实的值： 2 预测的值： 2\n",
      "No. 548 data： 真实的值： 2 预测的值： 2\n",
      "No. 401 data： 真实的值： 3 预测的值： 3\n",
      "No. 242 data： 真实的值： 1 预测的值： 1\n",
      "No. 690 data： 真实的值： 3 预测的值： 3\n",
      "No. 718 data： 真实的值： 1 预测的值： 1\n",
      "No. 962 data： 真实的值： 1 预测的值： 1\n",
      "No. 706 data： 真实的值： 2 预测的值： 2\n",
      "No. 683 data： 真实的值： 3 预测的值： 3\n",
      "No. 967 data： 真实的值： 3 预测的值： 3\n",
      "No. 711 data： 真实的值： 2 预测的值： 2\n",
      "No. 506 data： 真实的值： 3 预测的值： 3\n",
      "No. 225 data： 真实的值： 1 预测的值： 1\n",
      "No. 43 data： 真实的值： 3 预测的值： 3\n",
      "No. 448 data： 真实的值： 3 预测的值： 3\n",
      "No. 137 data： 真实的值： 3 预测的值： 3\n",
      "No. 264 data： 真实的值： 3 预测的值： 3\n",
      "No. 657 data： 真实的值： 2 预测的值： 2\n",
      "No. 229 data： 真实的值： 2 预测的值： 2\n",
      "No. 182 data： 真实的值： 1 预测的值： 1\n",
      "No. 640 data： 真实的值： 2 预测的值： 2\n",
      "No. 126 data： 真实的值： 3 预测的值： 3\n",
      "No. 574 data： 真实的值： 3 预测的值： 3\n",
      "No. 80 data： 真实的值： 1 预测的值： 1\n",
      "No. 209 data： 真实的值： 1 预测的值： 1\n",
      "No. 841 data： 真实的值： 2 预测的值： 2\n",
      "No. 102 data： 真实的值： 2 预测的值： 2\n",
      "No. 705 data： 真实的值： 2 预测的值： 2\n",
      "No. 510 data： 真实的值： 2 预测的值： 2\n",
      "No. 956 data： 真实的值： 2 预测的值： 2\n",
      "No. 304 data： 真实的值： 3 预测的值： 3\n",
      "No. 287 data： 真实的值： 3 预测的值： 2\n",
      "No. 97 data： 真实的值： 2 预测的值： 2\n",
      "No. 145 data： 真实的值： 3 预测的值： 3\n",
      "No. 748 data： 真实的值： 1 预测的值： 1\n",
      "No. 977 data： 真实的值： 3 预测的值： 3\n",
      "No. 686 data： 真实的值： 3 预测的值： 3\n",
      "No. 927 data： 真实的值： 3 预测的值： 3\n",
      "No. 330 data： 真实的值： 2 预测的值： 2\n",
      "No. 445 data： 真实的值： 1 预测的值： 1\n",
      "No. 268 data： 真实的值： 1 预测的值： 1\n",
      "No. 281 data： 真实的值： 1 预测的值： 1\n",
      "No. 641 data： 真实的值： 2 预测的值： 2\n",
      "No. 713 data： 真实的值： 1 预测的值： 1\n",
      "No. 606 data： 真实的值： 3 预测的值： 3\n",
      "No. 612 data： 真实的值： 2 预测的值： 2\n",
      "No. 101 data： 真实的值： 1 预测的值： 3\n",
      "No. 877 data： 真实的值： 2 预测的值： 2\n",
      "No. 69 data： 真实的值： 1 预测的值： 1\n",
      "No. 292 data： 真实的值： 3 预测的值： 3\n",
      "No. 290 data： 真实的值： 1 预测的值： 1\n",
      "No. 454 data： 真实的值： 1 预测的值： 1\n",
      "No. 769 data： 真实的值： 3 预测的值： 3\n",
      "No. 417 data： 真实的值： 2 预测的值： 2\n",
      "No. 826 data： 真实的值： 3 预测的值： 3\n",
      "No. 849 data： 真实的值： 3 预测的值： 3\n",
      "No. 802 data： 真实的值： 3 预测的值： 3\n",
      "No. 854 data： 真实的值： 3 预测的值： 3\n",
      "No. 572 data： 真实的值： 2 预测的值： 2\n",
      "No. 426 data： 真实的值： 1 预测的值： 1\n",
      "No. 765 data： 真实的值： 2 预测的值： 2\n",
      "No. 942 data： 真实的值： 2 预测的值： 2\n",
      "No. 559 data： 真实的值： 1 预测的值： 1\n",
      "No. 883 data： 真实的值： 3 预测的值： 3\n",
      "No. 64 data： 真实的值： 2 预测的值： 2\n",
      "No. 164 data： 真实的值： 1 预测的值： 1\n",
      "No. 659 data： 真实的值： 3 预测的值： 3\n",
      "No. 398 data： 真实的值： 1 预测的值： 1\n",
      "No. 79 data： 真实的值： 3 预测的值： 3\n",
      "No. 940 data： 真实的值： 2 预测的值： 2\n",
      "No. 790 data： 真实的值： 2 预测的值： 2\n",
      "No. 983 data： 真实的值： 2 预测的值： 2\n",
      "No. 162 data： 真实的值： 3 预测的值： 3\n",
      "No. 669 data： 真实的值： 1 预测的值： 1\n",
      "No. 943 data： 真实的值： 1 预测的值： 1\n",
      "No. 170 data： 真实的值： 3 预测的值： 3\n",
      "No. 823 data： 真实的值： 1 预测的值： 1\n",
      "No. 579 data： 真实的值： 3 预测的值： 3\n",
      "No. 232 data： 真实的值： 1 预测的值： 1\n",
      "No. 396 data： 真实的值： 2 预测的值： 2\n",
      "No. 592 data： 真实的值： 1 预测的值： 1\n",
      "No. 453 data： 真实的值： 1 预测的值： 1\n",
      "No. 591 data： 真实的值： 1 预测的值： 3\n",
      "No. 254 data： 真实的值： 3 预测的值： 3\n",
      "No. 25 data： 真实的值： 3 预测的值： 3\n",
      "No. 1 data： 真实的值： 2 预测的值： 2\n",
      "No. 947 data： 真实的值： 1 预测的值： 1\n",
      "No. 540 data： 真实的值： 2 预测的值： 2\n",
      "No. 975 data： 真实的值： 3 预测的值： 3\n",
      "No. 168 data： 真实的值： 1 预测的值： 1\n",
      "No. 797 data： 真实的值： 3 预测的值： 3\n",
      "No. 818 data： 真实的值： 1 预测的值： 1\n",
      "No. 371 data： 真实的值： 2 预测的值： 2\n",
      "No. 721 data： 真实的值： 2 预测的值： 2\n",
      "No. 205 data： 真实的值： 1 预测的值： 1\n",
      "No. 565 data： 真实的值： 1 预测的值： 1\n",
      "No. 165 data： 真实的值： 2 预测的值： 2\n",
      "No. 652 data： 真实的值： 2 预测的值： 2\n",
      "No. 882 data： 真实的值： 3 预测的值： 3\n",
      "No. 408 data： 真实的值： 1 预测的值： 1\n",
      "No. 768 data： 真实的值： 3 预测的值： 3\n",
      "No. 196 data： 真实的值： 2 预测的值： 2\n",
      "No. 406 data： 真实的值： 3 预测的值： 3\n",
      "No. 331 data： 真实的值： 1 预测的值： 1\n",
      "No. 837 data： 真实的值： 1 预测的值： 1\n",
      "No. 356 data： 真实的值： 1 预测的值： 1\n",
      "No. 306 data： 真实的值： 2 预测的值： 2\n",
      "No. 607 data： 真实的值： 1 预测的值： 1\n",
      "No. 249 data： 真实的值： 1 预测的值： 1\n",
      "No. 689 data： 真实的值： 2 预测的值： 2\n",
      "No. 749 data： 真实的值： 3 预测的值： 3\n",
      "No. 857 data： 真实的值： 2 预测的值： 2\n",
      "No. 3 data： 真实的值： 1 预测的值： 1\n",
      "No. 146 data： 真实的值： 3 预测的值： 3\n",
      "No. 684 data： 真实的值： 1 预测的值： 1\n",
      "No. 750 data： 真实的值： 2 预测的值： 2\n",
      "No. 584 data： 真实的值： 3 预测的值： 3\n",
      "No. 33 data： 真实的值： 1 预测的值： 1\n",
      "No. 157 data： 真实的值： 2 预测的值： 2\n",
      "No. 616 data： 真实的值： 2 预测的值： 2\n",
      "No. 629 data： 真实的值： 3 预测的值： 3\n",
      "No. 805 data： 真实的值： 3 预测的值： 3\n",
      "No. 430 data： 真实的值： 2 预测的值： 2\n",
      "No. 595 data： 真实的值： 3 预测的值： 3\n",
      "No. 40 data： 真实的值： 1 预测的值： 1\n",
      "No. 397 data： 真实的值： 1 预测的值： 1\n",
      "No. 580 data： 真实的值： 1 预测的值： 1\n",
      "No. 820 data： 真实的值： 1 预测的值： 1\n",
      "No. 298 data： 真实的值： 3 预测的值： 3\n",
      "No. 436 data： 真实的值： 1 预测的值： 1\n",
      "No. 836 data： 真实的值： 2 预测的值： 2\n",
      "No. 45 data： 真实的值： 1 预测的值： 1\n",
      "No. 636 data： 真实的值： 1 预测的值： 1\n",
      "No. 726 data： 真实的值： 1 预测的值： 1\n",
      "No. 84 data： 真实的值： 3 预测的值： 3\n",
      "No. 439 data： 真实的值： 3 预测的值： 3\n",
      "No. 124 data： 真实的值： 2 预测的值： 2\n",
      "No. 545 data： 真实的值： 1 预测的值： 1\n",
      "No. 10 data： 真实的值： 1 预测的值： 1\n",
      "No. 516 data： 真实的值： 1 预测的值： 1\n",
      "No. 288 data： 真实的值： 3 预测的值： 3\n",
      "No. 858 data： 真实的值： 2 预测的值： 2\n",
      "No. 582 data： 真实的值： 3 预测的值： 3\n",
      "No. 72 data： 真实的值： 2 预测的值： 2\n",
      "No. 269 data： 真实的值： 2 预测的值： 2\n",
      "No. 644 data： 真实的值： 2 预测的值： 2\n",
      "No. 375 data： 真实的值： 1 预测的值： 1\n",
      "No. 21 data： 真实的值： 1 预测的值： 1\n",
      "No. 476 data： 真实的值： 1 预测的值： 1\n",
      "No. 203 data： 真实的值： 2 预测的值： 2\n",
      "No. 327 data： 真实的值： 3 预测的值： 3\n",
      "No. 432 data： 真实的值： 2 预测的值： 2\n",
      "No. 852 data： 真实的值： 2 预测的值： 2\n",
      "No. 111 data： 真实的值： 2 预测的值： 2\n",
      "No. 586 data： 真实的值： 1 预测的值： 1\n",
      "No. 424 data： 真实的值： 3 预测的值： 3\n",
      "No. 486 data： 真实的值： 3 预测的值： 3\n",
      "No. 766 data： 真实的值： 3 预测的值： 3\n",
      "No. 460 data： 真实的值： 3 预测的值： 3\n",
      "No. 206 data： 真实的值： 3 预测的值： 3\n",
      "No. 253 data： 真实的值： 2 预测的值： 2\n",
      "No. 31 data： 真实的值： 1 预测的值： 1\n",
      "No. 630 data： 真实的值： 2 预测的值： 2\n",
      "No. 556 data： 真实的值： 2 预测的值： 2\n",
      "No. 787 data： 真实的值： 2 预测的值： 2\n",
      "No. 103 data： 真实的值： 3 预测的值： 3\n",
      "No. 302 data： 真实的值： 3 预测的值： 3\n",
      "No. 459 data： 真实的值： 3 预测的值： 2\n",
      "No. 807 data： 真实的值： 1 预测的值： 1\n",
      "No. 898 data： 真实的值： 2 预测的值： 2\n",
      "No. 520 data： 真实的值： 3 预测的值： 3\n",
      "No. 223 data： 真实的值： 3 预测的值： 3\n",
      "No. 237 data： 真实的值： 1 预测的值： 1\n",
      "No. 555 data： 真实的值： 2 预测的值： 2\n",
      "No. 354 data： 真实的值： 1 预测的值： 1\n",
      "No. 113 data： 真实的值： 3 预测的值： 3\n",
      "No. 312 data： 真实的值： 3 预测的值： 3\n",
      "No. 161 data： 真实的值： 2 预测的值： 2\n",
      "No. 569 data： 真实的值： 3 预测的值： 3\n",
      "No. 776 data： 真实的值： 3 预测的值： 3\n",
      "No. 693 data： 真实的值： 1 预测的值： 1\n",
      "No. 441 data： 真实的值： 3 预测的值： 3\n",
      "No. 437 data： 真实的值： 3 预测的值： 3\n",
      "No. 839 data： 真实的值： 3 预测的值： 3\n",
      "No. 503 data： 真实的值： 2 预测的值： 2\n",
      "No. 788 data： 真实的值： 2 预测的值： 2\n",
      "No. 886 data： 真实的值： 1 预测的值： 1\n",
      "No. 758 data： 真实的值： 1 预测的值： 1\n",
      "No. 963 data： 真实的值： 2 预测的值： 2\n",
      "No. 217 data： 真实的值： 3 预测的值： 3\n",
      "No. 425 data： 真实的值： 1 预测的值： 1\n",
      "No. 390 data： 真实的值： 1 预测的值： 1\n",
      "No. 601 data： 真实的值： 1 预测的值： 1\n",
      "No. 816 data： 真实的值： 2 预测的值： 2\n",
      "No. 320 data： 真实的值： 3 预测的值： 3\n",
      "No. 978 data： 真实的值： 2 预测的值： 2\n",
      "No. 576 data： 真实的值： 1 预测的值： 1\n",
      "No. 577 data： 真实的值： 3 预测的值： 3\n",
      "No. 461 data： 真实的值： 3 预测的值： 3\n",
      "No. 112 data： 真实的值： 1 预测的值： 1\n",
      "No. 55 data： 真实的值： 2 预测的值： 2\n",
      "No. 346 data： 真实的值： 2 预测的值： 2\n",
      "No. 729 data： 真实的值： 1 预测的值： 1\n",
      "No. 502 data： 真实的值： 1 预测的值： 1\n",
      "No. 808 data： 真实的值： 1 预测的值： 1\n",
      "No. 671 data： 真实的值： 2 预测的值： 2\n",
      "No. 687 data： 真实的值： 2 预测的值： 2\n",
      "No. 624 data： 真实的值： 3 预测的值： 3\n",
      "No. 487 data： 真实的值： 3 预测的值： 3\n",
      "No. 198 data： 真实的值： 3 预测的值： 3\n",
      "No. 521 data： 真实的值： 3 预测的值： 3\n",
      "No. 551 data： 真实的值： 3 预测的值： 3\n",
      "No. 34 data： 真实的值： 2 预测的值： 2\n",
      "No. 954 data： 真实的值： 3 预测的值： 3\n",
      "No. 468 data： 真实的值： 3 预测的值： 1\n",
      "No. 724 data： 真实的值： 3 预测的值： 3\n",
      "No. 531 data： 真实的值： 2 预测的值： 2\n",
      "No. 278 data： 真实的值： 2 预测的值： 2\n",
      "No. 952 data： 真实的值： 1 预测的值： 1\n",
      "No. 36 data： 真实的值： 1 预测的值： 1\n",
      "No. 357 data： 真实的值： 1 预测的值： 1\n",
      "No. 658 data： 真实的值： 2 预测的值： 2\n",
      "No. 775 data： 真实的值： 1 预测的值： 1\n",
      "No. 993 data： 真实的值： 2 预测的值： 2\n",
      "No. 645 data： 真实的值： 1 预测的值： 1\n",
      "No. 373 data： 真实的值： 1 预测的值： 1\n",
      "No. 227 data： 真实的值： 1 预测的值： 1\n",
      "No. 998 data： 真实的值： 3 预测的值： 3\n",
      "No. 987 data： 真实的值： 2 预测的值： 2\n",
      "No. 255 data： 真实的值： 2 预测的值： 2\n",
      "No. 792 data： 真实的值： 1 预测的值： 1\n",
      "No. 663 data： 真实的值： 3 预测的值： 3\n",
      "No. 105 data： 真实的值： 2 预测的值： 2\n",
      "No. 464 data： 真实的值： 3 预测的值： 3\n",
      "No. 571 data： 真实的值： 2 预测的值： 2\n",
      "No. 211 data： 真实的值： 1 预测的值： 1\n",
      "No. 289 data： 真实的值： 3 预测的值： 3\n",
      "No. 594 data： 真实的值： 1 预测的值： 1\n",
      "No. 423 data： 真实的值： 1 预测的值： 1\n",
      "No. 471 data： 真实的值： 3 预测的值： 3\n",
      "No. 920 data： 真实的值： 1 预测的值： 1\n",
      "No. 74 data： 真实的值： 1 预测的值： 3\n",
      "No. 701 data： 真实的值： 3 预测的值： 3\n",
      "No. 415 data： 真实的值： 1 预测的值： 1\n",
      "No. 449 data： 真实的值： 3 预测的值： 3\n",
      "No. 66 data： 真实的值： 3 预测的值： 3\n",
      "No. 256 data： 真实的值： 2 预测的值： 2\n",
      "No. 604 data： 真实的值： 2 预测的值： 2\n",
      "No. 907 data： 真实的值： 2 预测的值： 2\n",
      "No. 529 data： 真实的值： 2 预测的值： 2\n",
      "No. 180 data： 真实的值： 3 预测的值： 3\n",
      "No. 619 data： 真实的值： 3 预测的值： 3\n",
      "No. 597 data： 真实的值： 1 预测的值： 1\n",
      "No. 94 data： 真实的值： 1 预测的值： 1\n",
      "No. 801 data： 真实的值： 2 预测的值： 2\n",
      "No. 26 data： 真实的值： 2 预测的值： 2\n",
      "No. 185 data： 真实的值： 2 预测的值： 2\n",
      "No. 321 data： 真实的值： 2 预测的值： 2\n",
      "No. 399 data： 真实的值： 2 预测的值： 2\n",
      "No. 366 data： 真实的值： 3 预测的值： 3\n",
      "No. 238 data： 真实的值： 2 预测的值： 2\n",
      "No. 970 data： 真实的值： 3 预测的值： 3\n",
      "No. 466 data： 真实的值： 2 预测的值： 2\n",
      "No. 757 data： 真实的值： 2 预测的值： 2\n",
      "No. 22 data： 真实的值： 2 预测的值： 2\n",
      "No. 497 data： 真实的值： 1 预测的值： 1\n",
      "No. 814 data： 真实的值： 3 预测的值： 3\n",
      "No. 985 data： 真实的值： 2 预测的值： 2\n",
      "No. 779 data： 真实的值： 2 预测的值： 2\n",
      "No. 526 data： 真实的值： 2 预测的值： 2\n",
      "No. 873 data： 真实的值： 1 预测的值： 1\n",
      "No. 469 data： 真实的值： 2 预测的值： 2\n",
      "No. 634 data： 真实的值： 2 预测的值： 2\n",
      "No. 783 data： 真实的值： 1 预测的值： 1\n",
      "No. 909 data： 真实的值： 3 预测的值： 3\n",
      "No. 433 data： 真实的值： 3 预测的值： 3\n",
      "No. 965 data： 真实的值： 2 预测的值： 2\n",
      "No. 583 data： 真实的值： 1 预测的值： 1\n",
      "No. 867 data： 真实的值： 2 预测的值： 2\n",
      "No. 859 data： 真实的值： 3 预测的值： 3\n",
      "No. 860 data： 真实的值： 2 预测的值： 2\n",
      "No. 477 data： 真实的值： 2 预测的值： 2\n",
      "No. 871 data： 真实的值： 3 预测的值： 3\n",
      "No. 440 data： 真实的值： 1 预测的值： 1\n",
      "No. 746 data： 真实的值： 3 预测的值： 3\n",
      "No. 851 data： 真实的值： 1 预测的值： 1\n",
      "No. 385 data： 真实的值： 1 预测的值： 1\n",
      "No. 796 data： 真实的值： 1 预测的值： 1\n",
      "No. 54 data： 真实的值： 2 预测的值： 2\n",
      "No. 245 data： 真实的值： 3 预测的值： 3\n",
      "No. 887 data： 真实的值： 1 预测的值： 1\n",
      "No. 904 data： 真实的值： 2 预测的值： 2\n",
      "No. 462 data： 真实的值： 1 预测的值： 1\n",
      "No. 419 data： 真实的值： 1 预测的值： 1\n",
      "No. 272 data： 真实的值： 1 预测的值： 1\n",
      "No. 981 data： 真实的值： 2 预测的值： 2\n",
      "No. 413 data： 真实的值： 1 预测的值： 1\n",
      "No. 342 data： 真实的值： 1 预测的值： 1\n",
      "No. 778 data： 真实的值： 2 预测的值： 2\n",
      "No. 75 data： 真实的值： 3 预测的值： 3\n",
      "No. 538 data： 真实的值： 3 预测的值： 3\n",
      "No. 872 data： 真实的值： 3 预测的值： 3\n",
      "No. 674 data： 真实的值： 3 预测的值： 3\n",
      "No. 56 data： 真实的值： 2 预测的值： 2\n",
      "No. 78 data： 真实的值： 3 预测的值： 3\n",
      "No. 811 data： 真实的值： 2 预测的值： 2\n",
      "No. 154 data： 真实的值： 3 预测的值： 3\n",
      "No. 51 data： 真实的值： 1 预测的值： 1\n",
      "No. 134 data： 真实的值： 1 预测的值： 1\n",
      "No. 806 data： 真实的值： 1 预测的值： 1\n",
      "No. 140 data： 真实的值： 1 预测的值： 1\n",
      "No. 495 data： 真实的值： 1 预测的值： 2\n",
      "No. 498 data： 真实的值： 1 预测的值： 1\n",
      "No. 169 data： 真实的值： 2 预测的值： 2\n",
      "No. 534 data： 真实的值： 3 预测的值： 3\n",
      "No. 216 data： 真实的值： 3 预测的值： 3\n",
      "No. 562 data： 真实的值： 3 预测的值： 3\n",
      "No. 643 data： 真实的值： 2 预测的值： 2\n",
      "No. 463 data： 真实的值： 1 预测的值： 1\n",
      "No. 204 data： 真实的值： 3 预测的值： 3\n",
      "No. 60 data： 真实的值： 1 预测的值： 1\n",
      "No. 743 data： 真实的值： 2 预测的值： 2\n",
      "No. 130 data： 真实的值： 3 预测的值： 3\n",
      "No. 730 data： 真实的值： 2 预测的值： 2\n",
      "No. 642 data： 真实的值： 1 预测的值： 1\n",
      "No. 825 data： 真实的值： 2 预测的值： 2\n",
      "No. 82 data： 真实的值： 3 预测的值： 3\n",
      "No. 799 data： 真实的值： 1 预测的值： 1\n",
      "No. 496 data： 真实的值： 2 预测的值： 2\n",
      "No. 539 data： 真实的值： 2 预测的值： 2\n",
      "No. 896 data： 真实的值： 2 预测的值： 2\n",
      "No. 831 data： 真实的值： 3 预测的值： 3\n",
      "No. 846 data： 真实的值： 1 预测的值： 1\n",
      "No. 667 data： 真实的值： 1 预测的值： 1\n",
      "No. 360 data： 真实的值： 1 预测的值： 1\n",
      "No. 133 data： 真实的值： 3 预测的值： 3\n",
      "No. 378 data： 真实的值： 2 预测的值： 2\n",
      "No. 30 data： 真实的值： 3 预测的值： 3\n",
      "No. 350 data： 真实的值： 3 预测的值： 3\n",
      "No. 239 data： 真实的值： 2 预测的值： 2\n",
      "No. 876 data： 真实的值： 2 预测的值： 2\n",
      "No. 919 data： 真实的值： 3 预测的值： 3\n",
      "No. 828 data： 真实的值： 1 预测的值： 1\n",
      "No. 924 data： 真实的值： 3 预测的值： 3\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "No. 190 data： 真实的值： 1 预测的值： 1\n",
      "No. 478 data： 真实的值： 3 预测的值： 3\n",
      "No. 522 data： 真实的值： 3 预测的值： 3\n",
      "No. 602 data： 真实的值： 3 预测的值： 3\n",
      "No. 8 data： 真实的值： 1 预测的值： 1\n",
      "No. 395 data： 真实的值： 3 预测的值： 3\n",
      "No. 98 data： 真实的值： 1 预测的值： 1\n",
      "No. 996 data： 真实的值： 1 预测的值： 1\n",
      "No. 935 data： 真实的值： 1 预测的值： 1\n",
      "errors: 16 \n",
      "error rate: 0.017777777777777778\n"
     ]
    }
   ],
   "source": [
    "data_test01(ho=0.9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[772, 991, 377, 637, 646, 487, 261, 262, 11, 100]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import random\n",
    "choose_zly=random.sample(range(0, 999), 10)\n",
    "choose_zly"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [],
   "source": [
    "from numpy import *\n",
    "import operator\n",
    "from os import listdir\n",
    "import matplotlib.pyplot as plt\n",
    "def img2vector(filename):\n",
    "    returnVect=[]\n",
    "    fr=open(filename)\n",
    "#     print(fr.read())\n",
    "    for i in fr.readlines():\n",
    "#         print(i)\n",
    "#         print(len(i))\n",
    "        for j in range(32):\n",
    "            t=int(i[j])\n",
    "#             print(t)\n",
    "            returnVect.extend([t])\n",
    "    \n",
    "    return (returnVect)\n",
    "a=img2vector('testDigits/0_13.txt')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[1, 2]"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a=[]\n",
    "a.extend([1,2])\n",
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 0 预测的值： 0\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 7\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 1 预测的值： 1\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 2 预测的值： 2\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 9\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 3 预测的值： 3\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 4 预测的值： 4\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 3\n",
      "真实的值： 5 预测的值： 6\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 5 预测的值： 5\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 6 预测的值： 6\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 7 预测的值： 7\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 6\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 3\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 1\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 1\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 8 预测的值： 8\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 1\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 7\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "真实的值： 9 预测的值： 9\n",
      "num: 946 \n",
      "errors: 10\n",
      "rata: 0.010570824524312896\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(946, 10)"
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def test_handwriting(k=3):\n",
    "    hwlabel=[]\n",
    "    diction=listdir('trainingDigits')\n",
    "    train_dir=[]\n",
    "#     print(len(diction))\n",
    "    for i in range(len(diction)):\n",
    "        lable_inter=int(diction[i].split('.')[0].split('_')[0])\n",
    "        hwlabel.extend([lable_inter])\n",
    "        train_dir.append(img2vector('trainingDigits/%s'%diction[i]))\n",
    "    diction_test=listdir('testDigits')\n",
    "#     print(diction_test)\n",
    "    num=0\n",
    "    errors=0\n",
    "    \n",
    "    for i in range(len(diction_test)):\n",
    "#         print(i)\n",
    "        num=num+1\n",
    "        lable_test=int((diction_test[i].split('.')[0]).split('_')[0])\n",
    "        data_test=img2vector('testDigits/%s'%diction_test[i])\n",
    "        result=classify0(data_test,array(train_dir),hwlabel,k)\n",
    "        print('真实的值：',lable_test,'预测的值：',result)\n",
    "        if result!=lable_test:\n",
    "            errors=errors+1\n",
    "    print('num:',num,'\\nerrors:',errors)\n",
    "    print('rata:',float(errors)/num)\n",
    "    return num,errors\n",
    "test_handwriting(k=3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
